1. Field of the Invention
This invention relates in general to computer-implemented database systems, and, in particular, to a generalized model for the exploitation of database indexes.
2. Description of the Related Art
Databases are computerized information storage and retrieval systems. A Relational Database Management System (RDBMS) is a database management system (DBMS) which uses relational techniques for storing and retrieving data. Relational databases are organized into tables which consist of rows and columns of data. The rows are formally called tuples or records. A database will typically have many tables and each table will typically have multiple tuples and multiple columns. The tables are typically stored on direct access storage devices (DASD), such as magnetic or optical disk drives for semi-permanent storage.
Many traditional business transaction processing is done using a RDBMS. Since the inclusion of RDBMSs in business, user-defined data types and user-defined functions have been brought into RDBMSs to enrich the data modeling and data processing power. User-defined data based on the user-defined data types may include audio, video, image, text, spatial data (e.g., shape, point, line, polygon, etc.), time series data, OLE documents, Java objects, C++ objects, etc.
Records of a table in a database can be accessed using an index when searching for a particular column value or range of values. An index is an ordered set of record identifiers (IDs) (e.g., pointers) to the records with one or more key column values from the records in the table. The index is used to access each record in the database with a key value. Without an index, finding a record would require a scan (e.g., linearly) of an entire table. Indexes provide an alternate technique to accessing data in a table. Users can create indexes on a table after the table is built. An index is based on one or more columns of the table that are used to compose a key. A B-tree is a binary tree that may be used to store the record identifiers and the key values to the records in a table.
When a table contains user-defined data, conventional systems typically do not provide exploitation of database indexes. Therefore, there is a need in the art for an improved technique for exploitation of database indexes.